Next: Bugs and ideas, Previous: Input/Output, Up: Top [Contents][Index]
Eshell provides a facility for defining extension modules so
that they can be disabled and enabled without having to unload
and reload them, and to provide a common parent Customize group
for the modules.9 An Eshell module is defined the same as
any other library but one requirement: the module must define a
Customize10 group using
eshell-defgroup (in place of defgroup)
with eshell-module as the parent group.11 You also
need to load the following as shown:
(eval-when-compile (require 'cl-lib) (require 'esh-mode) (require 'eshell)) (require 'esh-util)
| • Writing a module: | ||
| • Module testing: | ||
| • Directory handling: | ||
| • Key rebinding: | ||
| • Smart scrolling: | ||
| • Terminal emulation: |
ERC provides a similar module facility.
See Customization in The Emacs Lisp Reference Manual.
If the module has no user-customizable options, then there is no need to define it as an Eshell module.